package com.bigShen.pattern.adapter.login.adapter;

import com.bigShen.pattern.adapter.login.LoginService;
import com.bigShen.pattern.adapter.login.ResultMsg;

/**
 * @author : lei.shen
 * @date : 2018/10/6
 * @desc : 适配器,不修改原有登录逻辑,
 *      直接继承 或者 组合
 */
public class LoginServiceAdapter extends LoginService {

    public ResultMsg loginForQQ(String openId) {
        // QQ登录， 只有一个唯一的 openId
        // 用户名 openId, 密码, QQ_DEFAULT
        // 1. 先注册 2. 再登录
        System.out.println("QQ用户登录");
        return  registerAndLogin(openId, "QQ_DEFAULT");
    }

    public ResultMsg loginForWeChat(String openId) {
        System.out.println("微信用户登录");
        return  registerAndLogin(openId, "WECHAT_DEFAULT");
    }

    public ResultMsg loginForToken(String token) {
        // 通过token获取用户进行登录
        return null;
    }

    public ResultMsg loginForSina(String openId) {
        System.out.println("新浪用户登录!");
        return registerAndLogin(openId, "SINA_DEFAULT");
    }

    public ResultMsg registerAndLogin(String userName, String password) {

        super.regisier(userName, password);
        return super.login(userName, password);
    }

}
